Specify the tissue of interest, run the boilerplate code which sets up the functions and environment, load the tissue object.
tissue_of_interest = "Heart"
library(here)
source(here("00_data_ingest", "02_tissue_analysis_rmd", "boilerplate.R"))
load_tissue_facs(tissue_of_interest)
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data matrix"
|
| | 0%
|
|=== | 4%
|
|======= | 8%
|
|========== | 12%
|
|============= | 17%
|
|================= | 21%
|
|==================== | 25%
|
|======================= | 29%
|
|=========================== | 33%
|
|============================== | 38%
|
|================================= | 42%
|
|===================================== | 46%
|
|======================================== | 50%
|
|=========================================== | 54%
|
|=============================================== | 58%
|
|================================================== | 62%
|
|===================================================== | 67%
|
|========================================================= | 71%
|
|============================================================ | 75%
|
|=============================================================== | 79%
|
|=================================================================== | 83%
|
|====================================================================== | 88%
|
|========================================================================= | 92%
|
|============================================================================= | 96%
|
|================================================================================| 100%
Calculating gene means
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variance to mean ratios
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
TEXT_SHOW_BACKTRACE environmental variable.
An object of class seurat in project Heart
23341 genes across 4365 samples.
Visualize top genes in principal components
Later on (in FindClusters and TSNE) you will pick a number of principal components to use. This has the effect of keeping the major directions of variation in the data and, ideally, supressing noise. There is no correct answer to the number to use, but a decent rule of thumb is to go until the plot plateaus.
PCElbowPlot(object = tiss)
Choose the number of principal components to use.
# Set number of principal components.
n.pcs = 10
The clustering is performed based on a nearest neighbors graph. Cells that have similar expression will be joined together. The Louvain algorithm looks for groups of cells with high modularity–more connections within the group than between groups. The resolution parameter determines the scale…higher resolution will give more clusters, lower resolution will give fewer.
For the top-level clustering, aim to under-cluster instead of over-cluster. It will be easy to subset groups and further analyze them below.
# Set resolution
res.used <- 0.5
tiss <- FindClusters(object = tiss, reduction.type = "pca", dims.use = 1:n.pcs,
resolution = res.used, print.output = 0, save.SNN = TRUE)
To visualize
# If cells are too spread out, you can raise the perplexity. If you have few cells, try a lower perplexity (but never less than 10).
tiss <- RunTSNE(object = tiss, dims.use = 1:n.pcs, seed.use = 10, perplexity=30)
# note that you can set do.label=T to help label individual clusters
TSNEPlot(object = tiss, do.label = T)
Check expression of genes of interset.
Dotplots let you see the intensity of exppression and the fraction of cells expressing for each of your genes of interest.
How big are the clusters?
table(tiss@ident)
0 1 2 3 4 5 6 7 8 9 10 11
993 894 620 545 398 326 221 182 143 131 80 52
Which markers identify a specific cluster?
clust.markers <- FindMarkers(object = tiss, ident.1 = 0, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~53s
|++ | 2 % ~51s
|++ | 3 % ~51s
|+++ | 4 % ~50s
|+++ | 5 % ~49s
|++++ | 6 % ~49s
|++++ | 7 % ~48s
|+++++ | 9 % ~48s
|+++++ | 10% ~47s
|++++++ | 11% ~47s
|++++++ | 12% ~46s
|+++++++ | 13% ~46s
|+++++++ | 14% ~45s
|++++++++ | 15% ~45s
|++++++++ | 16% ~44s
|+++++++++ | 17% ~44s
|++++++++++ | 18% ~43s
|++++++++++ | 19% ~43s
|+++++++++++ | 20% ~42s
|+++++++++++ | 21% ~19m 50s
|++++++++++++ | 22% ~18m 41s
|++++++++++++ | 23% ~17m 37s
|+++++++++++++ | 24% ~16m 39s
|+++++++++++++ | 26% ~15m 46s
|++++++++++++++ | 27% ~14m 57s
|++++++++++++++ | 28% ~14m 11s
|+++++++++++++++ | 29% ~13m 29s
|+++++++++++++++ | 30% ~12m 50s
|++++++++++++++++ | 31% ~12m 13s
|++++++++++++++++ | 32% ~11m 39s
|+++++++++++++++++ | 33% ~11m 07s
|++++++++++++++++++ | 34% ~10m 37s
|++++++++++++++++++ | 35% ~10m 09s
|+++++++++++++++++++ | 36% ~09m 42s
|+++++++++++++++++++ | 37% ~09m 17s
|++++++++++++++++++++ | 38% ~08m 54s
|++++++++++++++++++++ | 39% ~08m 31s
|+++++++++++++++++++++ | 40% ~08m 10s
|+++++++++++++++++++++ | 41% ~07m 49s
|++++++++++++++++++++++ | 43% ~07m 30s
|++++++++++++++++++++++ | 44% ~07m 12s
|+++++++++++++++++++++++ | 45% ~06m 54s
|+++++++++++++++++++++++ | 46% ~06m 38s
|++++++++++++++++++++++++ | 47% ~06m 22s
|++++++++++++++++++++++++ | 48% ~06m 06s
|+++++++++++++++++++++++++ | 49% ~05m 51s
|+++++++++++++++++++++++++ | 50% ~05m 37s
|++++++++++++++++++++++++++ | 51% ~05m 24s
|+++++++++++++++++++++++++++ | 52% ~05m 11s
|+++++++++++++++++++++++++++ | 53% ~04m 58s
|++++++++++++++++++++++++++++ | 54% ~04m 46s
|++++++++++++++++++++++++++++ | 55% ~04m 35s
|+++++++++++++++++++++++++++++ | 56% ~04m 24s
|+++++++++++++++++++++++++++++ | 57% ~04m 13s
|++++++++++++++++++++++++++++++ | 59% ~04m 02s
|++++++++++++++++++++++++++++++ | 60% ~03m 52s
|+++++++++++++++++++++++++++++++ | 61% ~03m 43s
|+++++++++++++++++++++++++++++++ | 62% ~03m 33s
|++++++++++++++++++++++++++++++++ | 63% ~03m 24s
|++++++++++++++++++++++++++++++++ | 64% ~03m 15s
|+++++++++++++++++++++++++++++++++ | 65% ~03m 07s
|+++++++++++++++++++++++++++++++++ | 66% ~02m 59s
|++++++++++++++++++++++++++++++++++ | 67% ~02m 50s
|+++++++++++++++++++++++++++++++++++ | 68% ~02m 43s
|+++++++++++++++++++++++++++++++++++ | 69% ~02m 35s
|++++++++++++++++++++++++++++++++++++ | 70% ~02m 28s
|++++++++++++++++++++++++++++++++++++ | 71% ~02m 21s
|+++++++++++++++++++++++++++++++++++++ | 72% ~02m 14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02m 07s
|++++++++++++++++++++++++++++++++++++++ | 74% ~02m 00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01m 54s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01m 47s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01m 41s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01m 35s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01m 30s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01m 24s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01m 18s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01m 13s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01m 08s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01m 02s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~57s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~52s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~47s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~43s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~38s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~33s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~29s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~25s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~20s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~16s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~12s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~08s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 06m 04s
print(x = head(x= clust.markers, n = 10))
You can also compute all markers for all clusters at once. This may take some time.
tiss.markers <- FindAllMarkers(object = tiss, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~50s
|+ | 2 % ~48s
|++ | 3 % ~47s
|++ | 4 % ~46s
|+++ | 5 % ~46s
|+++ | 6 % ~46s
|++++ | 7 % ~45s
|++++ | 8 % ~45s
|+++++ | 9 % ~44s
|+++++ | 10% ~44s
|++++++ | 11% ~44s
|++++++ | 12% ~43s
|+++++++ | 13% ~43s
|+++++++ | 14% ~42s
|++++++++ | 15% ~42s
|++++++++ | 16% ~42s
|+++++++++ | 17% ~41s
|+++++++++ | 18% ~42s
|++++++++++ | 19% ~41s
|++++++++++ | 20% ~41s
|+++++++++++ | 21% ~40s
|+++++++++++ | 22% ~40s
|++++++++++++ | 23% ~39s
|++++++++++++ | 24% ~39s
|+++++++++++++ | 25% ~38s
|+++++++++++++ | 26% ~37s
|++++++++++++++ | 27% ~37s
|++++++++++++++ | 28% ~36s
|+++++++++++++++ | 29% ~36s
|+++++++++++++++ | 30% ~35s
|++++++++++++++++ | 31% ~34s
|++++++++++++++++ | 32% ~34s
|+++++++++++++++++ | 33% ~33s
|+++++++++++++++++ | 34% ~33s
|++++++++++++++++++ | 35% ~32s
|++++++++++++++++++ | 36% ~32s
|+++++++++++++++++++ | 37% ~31s
|+++++++++++++++++++ | 38% ~31s
|++++++++++++++++++++ | 39% ~30s
|++++++++++++++++++++ | 40% ~30s
|+++++++++++++++++++++ | 41% ~29s
|+++++++++++++++++++++ | 42% ~29s
|++++++++++++++++++++++ | 43% ~28s
|++++++++++++++++++++++ | 44% ~28s
|+++++++++++++++++++++++ | 45% ~27s
|+++++++++++++++++++++++ | 46% ~27s
|++++++++++++++++++++++++ | 47% ~26s
|++++++++++++++++++++++++ | 48% ~26s
|+++++++++++++++++++++++++ | 49% ~25s
|+++++++++++++++++++++++++ | 50% ~25s
|++++++++++++++++++++++++++ | 51% ~24s
|++++++++++++++++++++++++++ | 52% ~24s
|+++++++++++++++++++++++++++ | 53% ~23s
|+++++++++++++++++++++++++++ | 54% ~23s
|++++++++++++++++++++++++++++ | 55% ~22s
|++++++++++++++++++++++++++++ | 56% ~22s
|+++++++++++++++++++++++++++++ | 57% ~21s
|+++++++++++++++++++++++++++++ | 58% ~21s
|++++++++++++++++++++++++++++++ | 59% ~20s
|++++++++++++++++++++++++++++++ | 60% ~20s
|+++++++++++++++++++++++++++++++ | 61% ~19s
|+++++++++++++++++++++++++++++++ | 62% ~19s
|++++++++++++++++++++++++++++++++ | 63% ~18s
|++++++++++++++++++++++++++++++++ | 64% ~18s
|+++++++++++++++++++++++++++++++++ | 65% ~17s
|+++++++++++++++++++++++++++++++++ | 66% ~17s
|++++++++++++++++++++++++++++++++++ | 67% ~16s
|++++++++++++++++++++++++++++++++++ | 68% ~16s
|+++++++++++++++++++++++++++++++++++ | 69% ~15s
|+++++++++++++++++++++++++++++++++++ | 70% ~15s
|++++++++++++++++++++++++++++++++++++ | 71% ~14s
|++++++++++++++++++++++++++++++++++++ | 72% ~14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~13s
|+++++++++++++++++++++++++++++++++++++ | 74% ~13s
|++++++++++++++++++++++++++++++++++++++ | 75% ~12s
|++++++++++++++++++++++++++++++++++++++ | 76% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~11s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~10s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~09s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~08s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 48s
| | 0 % ~calculating
|+ | 1 % ~01m 07s
|++ | 2 % ~01m 08s
|++ | 3 % ~01m 08s
|+++ | 4 % ~01m 06s
|+++ | 5 % ~01m 05s
|++++ | 6 % ~01m 05s
|++++ | 7 % ~01m 04s
|+++++ | 9 % ~01m 03s
|+++++ | 10% ~01m 02s
|++++++ | 11% ~01m 02s
|++++++ | 12% ~01m 01s
|+++++++ | 13% ~01m 00s
|+++++++ | 14% ~59s
|++++++++ | 15% ~59s
|++++++++ | 16% ~58s
|+++++++++ | 17% ~58s
|++++++++++ | 18% ~57s
|++++++++++ | 19% ~56s
|+++++++++++ | 20% ~55s
|+++++++++++ | 21% ~55s
|++++++++++++ | 22% ~54s
|++++++++++++ | 23% ~53s
|+++++++++++++ | 24% ~52s
|+++++++++++++ | 26% ~52s
|++++++++++++++ | 27% ~51s
|++++++++++++++ | 28% ~50s
|+++++++++++++++ | 29% ~49s
|+++++++++++++++ | 30% ~49s
|++++++++++++++++ | 31% ~48s
|++++++++++++++++ | 32% ~47s
|+++++++++++++++++ | 33% ~46s
|++++++++++++++++++ | 34% ~46s
|++++++++++++++++++ | 35% ~45s
|+++++++++++++++++++ | 36% ~44s
|+++++++++++++++++++ | 37% ~43s
|++++++++++++++++++++ | 38% ~43s
|++++++++++++++++++++ | 39% ~42s
|+++++++++++++++++++++ | 40% ~41s
|+++++++++++++++++++++ | 41% ~40s
|++++++++++++++++++++++ | 43% ~40s
|++++++++++++++++++++++ | 44% ~39s
|+++++++++++++++++++++++ | 45% ~38s
|+++++++++++++++++++++++ | 46% ~38s
|++++++++++++++++++++++++ | 47% ~37s
|++++++++++++++++++++++++ | 48% ~36s
|+++++++++++++++++++++++++ | 49% ~35s
|+++++++++++++++++++++++++ | 50% ~35s
|++++++++++++++++++++++++++ | 51% ~34s
|+++++++++++++++++++++++++++ | 52% ~33s
|+++++++++++++++++++++++++++ | 53% ~32s
|++++++++++++++++++++++++++++ | 54% ~32s
|++++++++++++++++++++++++++++ | 55% ~31s
|+++++++++++++++++++++++++++++ | 56% ~30s
|+++++++++++++++++++++++++++++ | 57% ~29s
|++++++++++++++++++++++++++++++ | 59% ~29s
|++++++++++++++++++++++++++++++ | 60% ~28s
|+++++++++++++++++++++++++++++++ | 61% ~27s
|+++++++++++++++++++++++++++++++ | 62% ~27s
|++++++++++++++++++++++++++++++++ | 63% ~26s
|++++++++++++++++++++++++++++++++ | 64% ~25s
|+++++++++++++++++++++++++++++++++ | 65% ~24s
|+++++++++++++++++++++++++++++++++ | 66% ~24s
|++++++++++++++++++++++++++++++++++ | 67% ~23s
|+++++++++++++++++++++++++++++++++++ | 68% ~22s
|+++++++++++++++++++++++++++++++++++ | 69% ~21s
|++++++++++++++++++++++++++++++++++++ | 70% ~21s
|++++++++++++++++++++++++++++++++++++ | 71% ~20s
|+++++++++++++++++++++++++++++++++++++ | 72% ~19s
|+++++++++++++++++++++++++++++++++++++ | 73% ~18s
|++++++++++++++++++++++++++++++++++++++ | 74% ~18s
|++++++++++++++++++++++++++++++++++++++ | 76% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~16s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~16s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~15s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~14s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~13s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~13s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~12s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 09s
| | 0 % ~calculating
|+ | 1 % ~41s
|++ | 2 % ~40s
|++ | 3 % ~40s
|+++ | 4 % ~39s
|+++ | 5 % ~38s
|++++ | 6 % ~38s
|++++ | 7 % ~37s
|+++++ | 9 % ~37s
|+++++ | 10% ~36s
|++++++ | 11% ~36s
|++++++ | 12% ~36s
|+++++++ | 13% ~35s
|+++++++ | 14% ~34s
|++++++++ | 15% ~34s
|++++++++ | 16% ~34s
|+++++++++ | 17% ~33s
|++++++++++ | 18% ~33s
|++++++++++ | 19% ~32s
|+++++++++++ | 20% ~32s
|+++++++++++ | 21% ~31s
|++++++++++++ | 22% ~31s
|++++++++++++ | 23% ~30s
|+++++++++++++ | 24% ~30s
|+++++++++++++ | 26% ~30s
|++++++++++++++ | 27% ~29s
|++++++++++++++ | 28% ~29s
|+++++++++++++++ | 29% ~29s
|+++++++++++++++ | 30% ~28s
|++++++++++++++++ | 31% ~28s
|++++++++++++++++ | 32% ~27s
|+++++++++++++++++ | 33% ~27s
|++++++++++++++++++ | 34% ~26s
|++++++++++++++++++ | 35% ~26s
|+++++++++++++++++++ | 36% ~26s
|+++++++++++++++++++ | 37% ~25s
|++++++++++++++++++++ | 38% ~25s
|++++++++++++++++++++ | 39% ~24s
|+++++++++++++++++++++ | 40% ~24s
|+++++++++++++++++++++ | 41% ~23s
|++++++++++++++++++++++ | 43% ~23s
|++++++++++++++++++++++ | 44% ~23s
|+++++++++++++++++++++++ | 45% ~22s
|+++++++++++++++++++++++ | 46% ~22s
|++++++++++++++++++++++++ | 47% ~21s
|++++++++++++++++++++++++ | 48% ~21s
|+++++++++++++++++++++++++ | 49% ~20s
|+++++++++++++++++++++++++ | 50% ~20s
|++++++++++++++++++++++++++ | 51% ~20s
|+++++++++++++++++++++++++++ | 52% ~19s
|+++++++++++++++++++++++++++ | 53% ~19s
|++++++++++++++++++++++++++++ | 54% ~18s
|++++++++++++++++++++++++++++ | 55% ~18s
|+++++++++++++++++++++++++++++ | 56% ~17s
|+++++++++++++++++++++++++++++ | 57% ~17s
|++++++++++++++++++++++++++++++ | 59% ~17s
|++++++++++++++++++++++++++++++ | 60% ~16s
|+++++++++++++++++++++++++++++++ | 61% ~16s
|+++++++++++++++++++++++++++++++ | 62% ~15s
|++++++++++++++++++++++++++++++++ | 63% ~15s
|++++++++++++++++++++++++++++++++ | 64% ~14s
|+++++++++++++++++++++++++++++++++ | 65% ~14s
|+++++++++++++++++++++++++++++++++ | 66% ~14s
|++++++++++++++++++++++++++++++++++ | 67% ~13s
|+++++++++++++++++++++++++++++++++++ | 68% ~13s
|+++++++++++++++++++++++++++++++++++ | 69% ~12s
|++++++++++++++++++++++++++++++++++++ | 70% ~12s
|++++++++++++++++++++++++++++++++++++ | 71% ~11s
|+++++++++++++++++++++++++++++++++++++ | 72% ~11s
|+++++++++++++++++++++++++++++++++++++ | 73% ~11s
|++++++++++++++++++++++++++++++++++++++ | 74% ~10s
|++++++++++++++++++++++++++++++++++++++ | 76% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~09s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~09s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~08s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~07s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 39s
| | 0 % ~calculating
|+ | 1 % ~37s
|++ | 2 % ~37s
|++ | 3 % ~36s
|+++ | 4 % ~37s
|+++ | 5 % ~37s
|++++ | 6 % ~37s
|++++ | 7 % ~36s
|+++++ | 9 % ~36s
|+++++ | 10% ~35s
|++++++ | 11% ~35s
|++++++ | 12% ~34s
|+++++++ | 13% ~34s
|+++++++ | 14% ~34s
|++++++++ | 15% ~33s
|++++++++ | 16% ~33s
|+++++++++ | 17% ~32s
|++++++++++ | 18% ~32s
|++++++++++ | 19% ~31s
|+++++++++++ | 20% ~31s
|+++++++++++ | 21% ~31s
|++++++++++++ | 22% ~30s
|++++++++++++ | 23% ~30s
|+++++++++++++ | 24% ~30s
|+++++++++++++ | 26% ~29s
|++++++++++++++ | 27% ~29s
|++++++++++++++ | 28% ~29s
|+++++++++++++++ | 29% ~28s
|+++++++++++++++ | 30% ~28s
|++++++++++++++++ | 31% ~27s
|++++++++++++++++ | 32% ~27s
|+++++++++++++++++ | 33% ~26s
|++++++++++++++++++ | 34% ~26s
|++++++++++++++++++ | 35% ~26s
|+++++++++++++++++++ | 36% ~25s
|+++++++++++++++++++ | 37% ~25s
|++++++++++++++++++++ | 38% ~24s
|++++++++++++++++++++ | 39% ~24s
|+++++++++++++++++++++ | 40% ~23s
|+++++++++++++++++++++ | 41% ~23s
|++++++++++++++++++++++ | 43% ~23s
|++++++++++++++++++++++ | 44% ~22s
|+++++++++++++++++++++++ | 45% ~22s
|+++++++++++++++++++++++ | 46% ~21s
|++++++++++++++++++++++++ | 47% ~21s
|++++++++++++++++++++++++ | 48% ~21s
|+++++++++++++++++++++++++ | 49% ~20s
|+++++++++++++++++++++++++ | 50% ~20s
|++++++++++++++++++++++++++ | 51% ~19s
|+++++++++++++++++++++++++++ | 52% ~19s
|+++++++++++++++++++++++++++ | 53% ~18s
|++++++++++++++++++++++++++++ | 54% ~18s
|++++++++++++++++++++++++++++ | 55% ~18s
|+++++++++++++++++++++++++++++ | 56% ~17s
|+++++++++++++++++++++++++++++ | 57% ~17s
|++++++++++++++++++++++++++++++ | 59% ~16s
|++++++++++++++++++++++++++++++ | 60% ~16s
|+++++++++++++++++++++++++++++++ | 61% ~16s
|+++++++++++++++++++++++++++++++ | 62% ~15s
|++++++++++++++++++++++++++++++++ | 63% ~15s
|++++++++++++++++++++++++++++++++ | 64% ~14s
|+++++++++++++++++++++++++++++++++ | 65% ~14s
|+++++++++++++++++++++++++++++++++ | 66% ~13s
|++++++++++++++++++++++++++++++++++ | 67% ~13s
|+++++++++++++++++++++++++++++++++++ | 68% ~13s
|+++++++++++++++++++++++++++++++++++ | 69% ~12s
|++++++++++++++++++++++++++++++++++++ | 70% ~12s
|++++++++++++++++++++++++++++++++++++ | 71% ~11s
|+++++++++++++++++++++++++++++++++++++ | 72% ~11s
|+++++++++++++++++++++++++++++++++++++ | 73% ~10s
|++++++++++++++++++++++++++++++++++++++ | 74% ~10s
|++++++++++++++++++++++++++++++++++++++ | 76% ~10s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~09s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~09s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~08s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~08s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~07s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~07s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~06s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~06s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~05s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 39s
| | 0 % ~calculating
|+ | 1 % ~01m 22s
|++ | 2 % ~01m 20s
|++ | 3 % ~01m 21s
|+++ | 4 % ~01m 21s
|+++ | 5 % ~01m 19s
|++++ | 6 % ~01m 18s
|++++ | 7 % ~01m 18s
|+++++ | 8 % ~01m 17s
|+++++ | 9 % ~01m 16s
|++++++ | 10% ~01m 16s
|++++++ | 11% ~01m 16s
|+++++++ | 12% ~01m 15s
|+++++++ | 13% ~01m 14s
|++++++++ | 14% ~01m 13s
|++++++++ | 15% ~01m 12s
|+++++++++ | 16% ~01m 11s
|+++++++++ | 18% ~01m 10s
|++++++++++ | 19% ~01m 09s
|++++++++++ | 20% ~01m 08s
|+++++++++++ | 21% ~01m 07s
|+++++++++++ | 22% ~01m 07s
|++++++++++++ | 23% ~01m 06s
|++++++++++++ | 24% ~01m 05s
|+++++++++++++ | 25% ~01m 04s
|+++++++++++++ | 26% ~01m 03s
|++++++++++++++ | 27% ~01m 02s
|++++++++++++++ | 28% ~01m 01s
|+++++++++++++++ | 29% ~01m 00s
|+++++++++++++++ | 30% ~60s
|++++++++++++++++ | 31% ~59s
|++++++++++++++++ | 32% ~58s
|+++++++++++++++++ | 33% ~57s
|++++++++++++++++++ | 34% ~56s
|++++++++++++++++++ | 35% ~55s
|+++++++++++++++++++ | 36% ~54s
|+++++++++++++++++++ | 37% ~53s
|++++++++++++++++++++ | 38% ~52s
|++++++++++++++++++++ | 39% ~52s
|+++++++++++++++++++++ | 40% ~51s
|+++++++++++++++++++++ | 41% ~50s
|++++++++++++++++++++++ | 42% ~49s
|++++++++++++++++++++++ | 43% ~48s
|+++++++++++++++++++++++ | 44% ~47s
|+++++++++++++++++++++++ | 45% ~46s
|++++++++++++++++++++++++ | 46% ~45s
|++++++++++++++++++++++++ | 47% ~45s
|+++++++++++++++++++++++++ | 48% ~44s
|+++++++++++++++++++++++++ | 49% ~43s
|++++++++++++++++++++++++++ | 51% ~42s
|++++++++++++++++++++++++++ | 52% ~41s
|+++++++++++++++++++++++++++ | 53% ~40s
|+++++++++++++++++++++++++++ | 54% ~39s
|++++++++++++++++++++++++++++ | 55% ~39s
|++++++++++++++++++++++++++++ | 56% ~38s
|+++++++++++++++++++++++++++++ | 57% ~37s
|+++++++++++++++++++++++++++++ | 58% ~36s
|++++++++++++++++++++++++++++++ | 59% ~35s
|++++++++++++++++++++++++++++++ | 60% ~34s
|+++++++++++++++++++++++++++++++ | 61% ~33s
|+++++++++++++++++++++++++++++++ | 62% ~32s
|++++++++++++++++++++++++++++++++ | 63% ~32s
|++++++++++++++++++++++++++++++++ | 64% ~31s
|+++++++++++++++++++++++++++++++++ | 65% ~30s
|+++++++++++++++++++++++++++++++++ | 66% ~29s
|++++++++++++++++++++++++++++++++++ | 67% ~28s
|+++++++++++++++++++++++++++++++++++ | 68% ~27s
|+++++++++++++++++++++++++++++++++++ | 69% ~26s
|++++++++++++++++++++++++++++++++++++ | 70% ~25s
|++++++++++++++++++++++++++++++++++++ | 71% ~25s
|+++++++++++++++++++++++++++++++++++++ | 72% ~24s
|+++++++++++++++++++++++++++++++++++++ | 73% ~23s
|++++++++++++++++++++++++++++++++++++++ | 74% ~22s
|++++++++++++++++++++++++++++++++++++++ | 75% ~21s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~20s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~19s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~18s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~18s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~17s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~16s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~15s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~14s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~13s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~12s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~11s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~11s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~10s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~09s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~08s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 24s
| | 0 % ~calculating
|+ | 1 % ~59s
|++ | 2 % ~59s
|++ | 3 % ~57s
|+++ | 4 % ~55s
|+++ | 5 % ~54s
|++++ | 6 % ~54s
|++++ | 7 % ~54s
|+++++ | 9 % ~54s
|+++++ | 10% ~53s
|++++++ | 11% ~53s
|++++++ | 12% ~52s
|+++++++ | 13% ~52s
|+++++++ | 14% ~51s
|++++++++ | 15% ~50s
|++++++++ | 16% ~49s
|+++++++++ | 17% ~49s
|++++++++++ | 18% ~48s
|++++++++++ | 19% ~48s
|+++++++++++ | 20% ~47s
|+++++++++++ | 21% ~46s
|++++++++++++ | 22% ~46s
|++++++++++++ | 23% ~45s
|+++++++++++++ | 24% ~44s
|+++++++++++++ | 26% ~44s
|++++++++++++++ | 27% ~43s
|++++++++++++++ | 28% ~42s
|+++++++++++++++ | 29% ~42s
|+++++++++++++++ | 30% ~41s
|++++++++++++++++ | 31% ~40s
|++++++++++++++++ | 32% ~40s
|+++++++++++++++++ | 33% ~39s
|++++++++++++++++++ | 34% ~39s
|++++++++++++++++++ | 35% ~38s
|+++++++++++++++++++ | 36% ~37s
|+++++++++++++++++++ | 37% ~37s
|++++++++++++++++++++ | 38% ~36s
|++++++++++++++++++++ | 39% ~35s
|+++++++++++++++++++++ | 40% ~35s
|+++++++++++++++++++++ | 41% ~34s
|++++++++++++++++++++++ | 43% ~33s
|++++++++++++++++++++++ | 44% ~33s
|+++++++++++++++++++++++ | 45% ~32s
|+++++++++++++++++++++++ | 46% ~32s
|++++++++++++++++++++++++ | 47% ~31s
|++++++++++++++++++++++++ | 48% ~30s
|+++++++++++++++++++++++++ | 49% ~30s
|+++++++++++++++++++++++++ | 50% ~29s
|++++++++++++++++++++++++++ | 51% ~29s
|+++++++++++++++++++++++++++ | 52% ~28s
|+++++++++++++++++++++++++++ | 53% ~27s
|++++++++++++++++++++++++++++ | 54% ~27s
|++++++++++++++++++++++++++++ | 55% ~26s
|+++++++++++++++++++++++++++++ | 56% ~25s
|+++++++++++++++++++++++++++++ | 57% ~25s
|++++++++++++++++++++++++++++++ | 59% ~24s
|++++++++++++++++++++++++++++++ | 60% ~24s
|+++++++++++++++++++++++++++++++ | 61% ~23s
|+++++++++++++++++++++++++++++++ | 62% ~22s
|++++++++++++++++++++++++++++++++ | 63% ~22s
|++++++++++++++++++++++++++++++++ | 64% ~21s
|+++++++++++++++++++++++++++++++++ | 65% ~20s
|+++++++++++++++++++++++++++++++++ | 66% ~20s
|++++++++++++++++++++++++++++++++++ | 67% ~19s
|+++++++++++++++++++++++++++++++++++ | 68% ~19s
|+++++++++++++++++++++++++++++++++++ | 69% ~18s
|++++++++++++++++++++++++++++++++++++ | 70% ~17s
|++++++++++++++++++++++++++++++++++++ | 71% ~17s
|+++++++++++++++++++++++++++++++++++++ | 72% ~16s
|+++++++++++++++++++++++++++++++++++++ | 73% ~16s
|++++++++++++++++++++++++++++++++++++++ | 74% ~15s
|++++++++++++++++++++++++++++++++++++++ | 76% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~14s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~13s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~12s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~12s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~11s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~11s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~09s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~08s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 58s
| | 0 % ~calculating
|+ | 1 % ~01m 04s
|++ | 2 % ~01m 04s
|++ | 3 % ~01m 04s
|+++ | 4 % ~01m 02s
|+++ | 5 % ~01m 01s
|++++ | 6 % ~60s
|++++ | 7 % ~60s
|+++++ | 8 % ~59s
|+++++ | 9 % ~59s
|++++++ | 10% ~58s
|++++++ | 11% ~57s
|+++++++ | 12% ~57s
|+++++++ | 13% ~56s
|++++++++ | 14% ~55s
|++++++++ | 15% ~54s
|+++++++++ | 16% ~54s
|+++++++++ | 18% ~53s
|++++++++++ | 19% ~53s
|++++++++++ | 20% ~52s
|+++++++++++ | 21% ~52s
|+++++++++++ | 22% ~51s
|++++++++++++ | 23% ~50s
|++++++++++++ | 24% ~50s
|+++++++++++++ | 25% ~49s
|+++++++++++++ | 26% ~48s
|++++++++++++++ | 27% ~48s
|++++++++++++++ | 28% ~47s
|+++++++++++++++ | 29% ~46s
|+++++++++++++++ | 30% ~46s
|++++++++++++++++ | 31% ~45s
|++++++++++++++++ | 32% ~44s
|+++++++++++++++++ | 33% ~44s
|++++++++++++++++++ | 34% ~43s
|++++++++++++++++++ | 35% ~42s
|+++++++++++++++++++ | 36% ~42s
|+++++++++++++++++++ | 37% ~41s
|++++++++++++++++++++ | 38% ~40s
|++++++++++++++++++++ | 39% ~40s
|+++++++++++++++++++++ | 40% ~39s
|+++++++++++++++++++++ | 41% ~38s
|++++++++++++++++++++++ | 42% ~38s
|++++++++++++++++++++++ | 43% ~37s
|+++++++++++++++++++++++ | 44% ~36s
|+++++++++++++++++++++++ | 45% ~36s
|++++++++++++++++++++++++ | 46% ~35s
|++++++++++++++++++++++++ | 47% ~34s
|+++++++++++++++++++++++++ | 48% ~34s
|+++++++++++++++++++++++++ | 49% ~33s
|++++++++++++++++++++++++++ | 51% ~32s
|++++++++++++++++++++++++++ | 52% ~32s
|+++++++++++++++++++++++++++ | 53% ~31s
|+++++++++++++++++++++++++++ | 54% ~30s
|++++++++++++++++++++++++++++ | 55% ~30s
|++++++++++++++++++++++++++++ | 56% ~29s
|+++++++++++++++++++++++++++++ | 57% ~28s
|+++++++++++++++++++++++++++++ | 58% ~28s
|++++++++++++++++++++++++++++++ | 59% ~27s
|++++++++++++++++++++++++++++++ | 60% ~26s
|+++++++++++++++++++++++++++++++ | 61% ~26s
|+++++++++++++++++++++++++++++++ | 62% ~25s
|++++++++++++++++++++++++++++++++ | 63% ~24s
|++++++++++++++++++++++++++++++++ | 64% ~24s
|+++++++++++++++++++++++++++++++++ | 65% ~23s
|+++++++++++++++++++++++++++++++++ | 66% ~22s
|++++++++++++++++++++++++++++++++++ | 67% ~22s
|+++++++++++++++++++++++++++++++++++ | 68% ~21s
|+++++++++++++++++++++++++++++++++++ | 69% ~20s
|++++++++++++++++++++++++++++++++++++ | 70% ~20s
|++++++++++++++++++++++++++++++++++++ | 71% ~19s
|+++++++++++++++++++++++++++++++++++++ | 72% ~18s
|+++++++++++++++++++++++++++++++++++++ | 73% ~18s
|++++++++++++++++++++++++++++++++++++++ | 74% ~17s
|++++++++++++++++++++++++++++++++++++++ | 75% ~16s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~15s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~15s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~14s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~13s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~13s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~12s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~11s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~11s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~10s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 05s
| | 0 % ~calculating
|+ | 1 % ~48s
|++ | 2 % ~48s
|++ | 3 % ~48s
|+++ | 4 % ~48s
|+++ | 5 % ~48s
|++++ | 6 % ~47s
|++++ | 7 % ~46s
|+++++ | 8 % ~46s
|+++++ | 9 % ~46s
|++++++ | 10% ~46s
|++++++ | 11% ~45s
|+++++++ | 12% ~44s
|+++++++ | 13% ~44s
|++++++++ | 14% ~43s
|++++++++ | 15% ~43s
|+++++++++ | 16% ~42s
|+++++++++ | 17% ~42s
|++++++++++ | 18% ~41s
|++++++++++ | 19% ~41s
|+++++++++++ | 20% ~40s
|+++++++++++ | 21% ~40s
|++++++++++++ | 22% ~39s
|++++++++++++ | 23% ~39s
|+++++++++++++ | 24% ~38s
|+++++++++++++ | 26% ~38s
|++++++++++++++ | 27% ~37s
|++++++++++++++ | 28% ~37s
|+++++++++++++++ | 29% ~36s
|+++++++++++++++ | 30% ~36s
|++++++++++++++++ | 31% ~35s
|++++++++++++++++ | 32% ~35s
|+++++++++++++++++ | 33% ~34s
|+++++++++++++++++ | 34% ~34s
|++++++++++++++++++ | 35% ~33s
|++++++++++++++++++ | 36% ~33s
|+++++++++++++++++++ | 37% ~32s
|+++++++++++++++++++ | 38% ~32s
|++++++++++++++++++++ | 39% ~31s
|++++++++++++++++++++ | 40% ~31s
|+++++++++++++++++++++ | 41% ~30s
|+++++++++++++++++++++ | 42% ~30s
|++++++++++++++++++++++ | 43% ~29s
|++++++++++++++++++++++ | 44% ~28s
|+++++++++++++++++++++++ | 45% ~28s
|+++++++++++++++++++++++ | 46% ~27s
|++++++++++++++++++++++++ | 47% ~27s
|++++++++++++++++++++++++ | 48% ~26s
|+++++++++++++++++++++++++ | 49% ~26s
|+++++++++++++++++++++++++ | 50% ~25s
|++++++++++++++++++++++++++ | 51% ~25s
|+++++++++++++++++++++++++++ | 52% ~24s
|+++++++++++++++++++++++++++ | 53% ~24s
|++++++++++++++++++++++++++++ | 54% ~23s
|++++++++++++++++++++++++++++ | 55% ~23s
|+++++++++++++++++++++++++++++ | 56% ~22s
|+++++++++++++++++++++++++++++ | 57% ~22s
|++++++++++++++++++++++++++++++ | 58% ~21s
|++++++++++++++++++++++++++++++ | 59% ~21s
|+++++++++++++++++++++++++++++++ | 60% ~20s
|+++++++++++++++++++++++++++++++ | 61% ~20s
|++++++++++++++++++++++++++++++++ | 62% ~19s
|++++++++++++++++++++++++++++++++ | 63% ~19s
|+++++++++++++++++++++++++++++++++ | 64% ~18s
|+++++++++++++++++++++++++++++++++ | 65% ~18s
|++++++++++++++++++++++++++++++++++ | 66% ~17s
|++++++++++++++++++++++++++++++++++ | 67% ~17s
|+++++++++++++++++++++++++++++++++++ | 68% ~16s
|+++++++++++++++++++++++++++++++++++ | 69% ~16s
|++++++++++++++++++++++++++++++++++++ | 70% ~15s
|++++++++++++++++++++++++++++++++++++ | 71% ~15s
|+++++++++++++++++++++++++++++++++++++ | 72% ~14s
|+++++++++++++++++++++++++++++++++++++ | 73% ~13s
|++++++++++++++++++++++++++++++++++++++ | 74% ~13s
|++++++++++++++++++++++++++++++++++++++ | 76% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~12s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~11s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~10s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~09s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~08s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~07s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 51s
| | 0 % ~calculating
|+ | 1 % ~01m 50s
|++ | 2 % ~01m 53s
|++ | 3 % ~01m 51s
|+++ | 4 % ~01m 50s
|+++ | 5 % ~01m 49s
|++++ | 6 % ~01m 48s
|++++ | 7 % ~01m 47s
|+++++ | 8 % ~01m 46s
|+++++ | 9 % ~01m 44s
|++++++ | 10% ~01m 44s
|++++++ | 11% ~01m 43s
|+++++++ | 12% ~01m 42s
|+++++++ | 13% ~01m 41s
|++++++++ | 14% ~01m 39s
|++++++++ | 15% ~01m 38s
|+++++++++ | 16% ~01m 37s
|+++++++++ | 17% ~01m 36s
|++++++++++ | 18% ~01m 34s
|++++++++++ | 19% ~01m 33s
|+++++++++++ | 20% ~01m 32s
|+++++++++++ | 21% ~01m 31s
|++++++++++++ | 22% ~01m 29s
|++++++++++++ | 23% ~01m 28s
|+++++++++++++ | 24% ~01m 27s
|+++++++++++++ | 26% ~01m 26s
|++++++++++++++ | 27% ~01m 25s
|++++++++++++++ | 28% ~01m 24s
|+++++++++++++++ | 29% ~01m 23s
|+++++++++++++++ | 30% ~01m 21s
|++++++++++++++++ | 31% ~01m 20s
|++++++++++++++++ | 32% ~01m 19s
|+++++++++++++++++ | 33% ~01m 18s
|+++++++++++++++++ | 34% ~01m 16s
|++++++++++++++++++ | 35% ~01m 15s
|++++++++++++++++++ | 36% ~01m 14s
|+++++++++++++++++++ | 37% ~01m 13s
|+++++++++++++++++++ | 38% ~01m 12s
|++++++++++++++++++++ | 39% ~01m 11s
|++++++++++++++++++++ | 40% ~01m 09s
|+++++++++++++++++++++ | 41% ~01m 08s
|+++++++++++++++++++++ | 42% ~01m 07s
|++++++++++++++++++++++ | 43% ~01m 06s
|++++++++++++++++++++++ | 44% ~01m 05s
|+++++++++++++++++++++++ | 45% ~01m 04s
|+++++++++++++++++++++++ | 46% ~01m 02s
|++++++++++++++++++++++++ | 47% ~01m 01s
|++++++++++++++++++++++++ | 48% ~01m 00s
|+++++++++++++++++++++++++ | 49% ~59s
|+++++++++++++++++++++++++ | 50% ~58s
|++++++++++++++++++++++++++ | 51% ~57s
|+++++++++++++++++++++++++++ | 52% ~55s
|+++++++++++++++++++++++++++ | 53% ~54s
|++++++++++++++++++++++++++++ | 54% ~53s
|++++++++++++++++++++++++++++ | 55% ~52s
|+++++++++++++++++++++++++++++ | 56% ~51s
|+++++++++++++++++++++++++++++ | 57% ~50s
|++++++++++++++++++++++++++++++ | 58% ~49s
|++++++++++++++++++++++++++++++ | 59% ~48s
|+++++++++++++++++++++++++++++++ | 60% ~47s
|+++++++++++++++++++++++++++++++ | 61% ~46s
|++++++++++++++++++++++++++++++++ | 62% ~45s
|++++++++++++++++++++++++++++++++ | 63% ~43s
|+++++++++++++++++++++++++++++++++ | 64% ~42s
|+++++++++++++++++++++++++++++++++ | 65% ~41s
|++++++++++++++++++++++++++++++++++ | 66% ~40s
|++++++++++++++++++++++++++++++++++ | 67% ~39s
|+++++++++++++++++++++++++++++++++++ | 68% ~37s
|+++++++++++++++++++++++++++++++++++ | 69% ~36s
|++++++++++++++++++++++++++++++++++++ | 70% ~35s
|++++++++++++++++++++++++++++++++++++ | 71% ~34s
|+++++++++++++++++++++++++++++++++++++ | 72% ~33s
|+++++++++++++++++++++++++++++++++++++ | 73% ~31s
|++++++++++++++++++++++++++++++++++++++ | 74% ~30s
|++++++++++++++++++++++++++++++++++++++ | 76% ~29s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~28s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~27s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~25s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~24s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~23s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~22s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~20s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~19s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~18s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~17s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~16s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~15s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~13s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~12s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~11s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~10s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 58s
| | 0 % ~calculating
|+ | 1 % ~01m 33s
|++ | 2 % ~01m 35s
|++ | 3 % ~01m 33s
|+++ | 4 % ~01m 31s
|+++ | 5 % ~01m 30s
|++++ | 6 % ~01m 30s
|++++ | 7 % ~01m 28s
|+++++ | 8 % ~01m 28s
|+++++ | 9 % ~01m 27s
|++++++ | 10% ~01m 26s
|++++++ | 11% ~01m 26s
|+++++++ | 12% ~01m 25s
|+++++++ | 13% ~01m 24s
|++++++++ | 14% ~01m 23s
|++++++++ | 15% ~01m 22s
|+++++++++ | 16% ~01m 21s
|+++++++++ | 18% ~01m 20s
|++++++++++ | 19% ~01m 19s
|++++++++++ | 20% ~01m 18s
|+++++++++++ | 21% ~01m 17s
|+++++++++++ | 22% ~01m 16s
|++++++++++++ | 23% ~01m 15s
|++++++++++++ | 24% ~01m 13s
|+++++++++++++ | 25% ~01m 13s
|+++++++++++++ | 26% ~01m 12s
|++++++++++++++ | 27% ~01m 10s
|++++++++++++++ | 28% ~01m 10s
|+++++++++++++++ | 29% ~01m 09s
|+++++++++++++++ | 30% ~01m 08s
|++++++++++++++++ | 31% ~01m 07s
|++++++++++++++++ | 32% ~01m 06s
|+++++++++++++++++ | 33% ~01m 05s
|++++++++++++++++++ | 34% ~01m 04s
|++++++++++++++++++ | 35% ~01m 03s
|+++++++++++++++++++ | 36% ~01m 02s
|+++++++++++++++++++ | 37% ~01m 01s
|++++++++++++++++++++ | 38% ~60s
|++++++++++++++++++++ | 39% ~59s
|+++++++++++++++++++++ | 40% ~58s
|+++++++++++++++++++++ | 41% ~57s
|++++++++++++++++++++++ | 42% ~56s
|++++++++++++++++++++++ | 43% ~55s
|+++++++++++++++++++++++ | 44% ~54s
|+++++++++++++++++++++++ | 45% ~53s
|++++++++++++++++++++++++ | 46% ~52s
|++++++++++++++++++++++++ | 47% ~51s
|+++++++++++++++++++++++++ | 48% ~50s
|+++++++++++++++++++++++++ | 49% ~49s
|++++++++++++++++++++++++++ | 51% ~48s
|++++++++++++++++++++++++++ | 52% ~47s
|+++++++++++++++++++++++++++ | 53% ~46s
|+++++++++++++++++++++++++++ | 54% ~45s
|++++++++++++++++++++++++++++ | 55% ~44s
|++++++++++++++++++++++++++++ | 56% ~43s
|+++++++++++++++++++++++++++++ | 57% ~42s
|+++++++++++++++++++++++++++++ | 58% ~41s
|++++++++++++++++++++++++++++++ | 59% ~40s
|++++++++++++++++++++++++++++++ | 60% ~39s
|+++++++++++++++++++++++++++++++ | 61% ~38s
|+++++++++++++++++++++++++++++++ | 62% ~37s
|++++++++++++++++++++++++++++++++ | 63% ~36s
|++++++++++++++++++++++++++++++++ | 64% ~35s
|+++++++++++++++++++++++++++++++++ | 65% ~34s
|+++++++++++++++++++++++++++++++++ | 66% ~33s
|++++++++++++++++++++++++++++++++++ | 67% ~32s
|+++++++++++++++++++++++++++++++++++ | 68% ~31s
|+++++++++++++++++++++++++++++++++++ | 69% ~30s
|++++++++++++++++++++++++++++++++++++ | 70% ~29s
|++++++++++++++++++++++++++++++++++++ | 71% ~28s
|+++++++++++++++++++++++++++++++++++++ | 72% ~27s
|+++++++++++++++++++++++++++++++++++++ | 73% ~26s
|++++++++++++++++++++++++++++++++++++++ | 74% ~25s
|++++++++++++++++++++++++++++++++++++++ | 75% ~24s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~23s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~22s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~21s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~20s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~19s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~18s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~17s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~16s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~15s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~14s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~13s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~12s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~11s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~09s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~08s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~06s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~04s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 36s
| | 0 % ~calculating
|+ | 1 % ~01m 14s
|++ | 2 % ~01m 15s
|++ | 3 % ~01m 13s
|+++ | 4 % ~01m 11s
|+++ | 5 % ~01m 11s
|++++ | 6 % ~01m 10s
|++++ | 7 % ~01m 09s
|+++++ | 8 % ~01m 08s
|+++++ | 9 % ~01m 07s
|++++++ | 11% ~01m 07s
|++++++ | 12% ~01m 06s
|+++++++ | 13% ~01m 05s
|+++++++ | 14% ~01m 04s
|++++++++ | 15% ~01m 04s
|++++++++ | 16% ~01m 03s
|+++++++++ | 17% ~01m 02s
|+++++++++ | 18% ~01m 01s
|++++++++++ | 19% ~01m 01s
|++++++++++ | 20% ~60s
|+++++++++++ | 21% ~59s
|++++++++++++ | 22% ~58s
|++++++++++++ | 23% ~58s
|+++++++++++++ | 24% ~57s
|+++++++++++++ | 25% ~56s
|++++++++++++++ | 26% ~55s
|++++++++++++++ | 27% ~54s
|+++++++++++++++ | 28% ~53s
|+++++++++++++++ | 29% ~53s
|++++++++++++++++ | 31% ~52s
|++++++++++++++++ | 32% ~51s
|+++++++++++++++++ | 33% ~50s
|+++++++++++++++++ | 34% ~49s
|++++++++++++++++++ | 35% ~49s
|++++++++++++++++++ | 36% ~48s
|+++++++++++++++++++ | 37% ~47s
|+++++++++++++++++++ | 38% ~46s
|++++++++++++++++++++ | 39% ~46s
|++++++++++++++++++++ | 40% ~45s
|+++++++++++++++++++++ | 41% ~44s
|++++++++++++++++++++++ | 42% ~43s
|++++++++++++++++++++++ | 43% ~43s
|+++++++++++++++++++++++ | 44% ~42s
|+++++++++++++++++++++++ | 45% ~41s
|++++++++++++++++++++++++ | 46% ~40s
|++++++++++++++++++++++++ | 47% ~39s
|+++++++++++++++++++++++++ | 48% ~39s
|+++++++++++++++++++++++++ | 49% ~38s
|++++++++++++++++++++++++++ | 51% ~37s
|++++++++++++++++++++++++++ | 52% ~36s
|+++++++++++++++++++++++++++ | 53% ~35s
|+++++++++++++++++++++++++++ | 54% ~35s
|++++++++++++++++++++++++++++ | 55% ~34s
|++++++++++++++++++++++++++++ | 56% ~33s
|+++++++++++++++++++++++++++++ | 57% ~32s
|+++++++++++++++++++++++++++++ | 58% ~32s
|++++++++++++++++++++++++++++++ | 59% ~31s
|++++++++++++++++++++++++++++++ | 60% ~30s
|+++++++++++++++++++++++++++++++ | 61% ~29s
|++++++++++++++++++++++++++++++++ | 62% ~28s
|++++++++++++++++++++++++++++++++ | 63% ~28s
|+++++++++++++++++++++++++++++++++ | 64% ~27s
|+++++++++++++++++++++++++++++++++ | 65% ~26s
|++++++++++++++++++++++++++++++++++ | 66% ~25s
|++++++++++++++++++++++++++++++++++ | 67% ~24s
|+++++++++++++++++++++++++++++++++++ | 68% ~24s
|+++++++++++++++++++++++++++++++++++ | 69% ~23s
|++++++++++++++++++++++++++++++++++++ | 71% ~22s
|++++++++++++++++++++++++++++++++++++ | 72% ~21s
|+++++++++++++++++++++++++++++++++++++ | 73% ~21s
|+++++++++++++++++++++++++++++++++++++ | 74% ~20s
|++++++++++++++++++++++++++++++++++++++ | 75% ~19s
|++++++++++++++++++++++++++++++++++++++ | 76% ~18s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~17s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~17s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~16s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~15s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~14s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~13s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~13s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~12s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~11s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~10s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~09s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~08s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~07s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~06s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~05s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~04s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~03s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~02s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 01m 14s
| | 0 % ~calculating
|+ | 1 % ~02m 50s
|++ | 2 % ~02m 47s
|++ | 3 % ~02m 45s
|+++ | 4 % ~02m 44s
|+++ | 5 % ~02m 41s
|++++ | 6 % ~02m 43s
|++++ | 7 % ~02m 40s
|+++++ | 8 % ~02m 38s
|+++++ | 9 % ~02m 36s
|++++++ | 10% ~02m 34s
|++++++ | 11% ~02m 32s
|+++++++ | 12% ~02m 30s
|+++++++ | 13% ~02m 29s
|++++++++ | 14% ~02m 27s
|++++++++ | 15% ~02m 25s
|+++++++++ | 16% ~02m 23s
|+++++++++ | 17% ~02m 22s
|++++++++++ | 18% ~02m 20s
|++++++++++ | 19% ~02m 18s
|+++++++++++ | 20% ~02m 17s
|+++++++++++ | 21% ~02m 15s
|++++++++++++ | 22% ~02m 13s
|++++++++++++ | 23% ~02m 12s
|+++++++++++++ | 24% ~02m 11s
|+++++++++++++ | 25% ~02m 10s
|++++++++++++++ | 26% ~02m 08s
|++++++++++++++ | 27% ~02m 07s
|+++++++++++++++ | 28% ~02m 05s
|+++++++++++++++ | 29% ~02m 03s
|++++++++++++++++ | 30% ~02m 01s
|++++++++++++++++ | 31% ~01m 60s
|+++++++++++++++++ | 32% ~01m 58s
|+++++++++++++++++ | 33% ~01m 56s
|++++++++++++++++++ | 34% ~01m 54s
|++++++++++++++++++ | 35% ~01m 52s
|+++++++++++++++++++ | 36% ~01m 51s
|+++++++++++++++++++ | 37% ~01m 49s
|++++++++++++++++++++ | 38% ~01m 47s
|++++++++++++++++++++ | 39% ~01m 45s
|+++++++++++++++++++++ | 40% ~01m 43s
|+++++++++++++++++++++ | 41% ~01m 42s
|++++++++++++++++++++++ | 42% ~01m 40s
|++++++++++++++++++++++ | 43% ~01m 38s
|+++++++++++++++++++++++ | 44% ~01m 36s
|+++++++++++++++++++++++ | 45% ~01m 34s
|++++++++++++++++++++++++ | 46% ~01m 33s
|++++++++++++++++++++++++ | 47% ~01m 31s
|+++++++++++++++++++++++++ | 48% ~01m 29s
|+++++++++++++++++++++++++ | 49% ~01m 27s
|++++++++++++++++++++++++++ | 51% ~01m 26s
|++++++++++++++++++++++++++ | 52% ~01m 24s
|+++++++++++++++++++++++++++ | 53% ~01m 22s
|+++++++++++++++++++++++++++ | 54% ~01m 20s
|++++++++++++++++++++++++++++ | 55% ~01m 19s
|++++++++++++++++++++++++++++ | 56% ~01m 17s
|+++++++++++++++++++++++++++++ | 57% ~01m 15s
|+++++++++++++++++++++++++++++ | 58% ~01m 13s
|++++++++++++++++++++++++++++++ | 59% ~01m 12s
|++++++++++++++++++++++++++++++ | 60% ~01m 10s
|+++++++++++++++++++++++++++++++ | 61% ~01m 08s
|+++++++++++++++++++++++++++++++ | 62% ~01m 06s
|++++++++++++++++++++++++++++++++ | 63% ~01m 05s
|++++++++++++++++++++++++++++++++ | 64% ~01m 03s
|+++++++++++++++++++++++++++++++++ | 65% ~01m 01s
|+++++++++++++++++++++++++++++++++ | 66% ~59s
|++++++++++++++++++++++++++++++++++ | 67% ~58s
|++++++++++++++++++++++++++++++++++ | 68% ~56s
|+++++++++++++++++++++++++++++++++++ | 69% ~54s
|+++++++++++++++++++++++++++++++++++ | 70% ~52s
|++++++++++++++++++++++++++++++++++++ | 71% ~51s
|++++++++++++++++++++++++++++++++++++ | 72% ~49s
|+++++++++++++++++++++++++++++++++++++ | 73% ~47s
|+++++++++++++++++++++++++++++++++++++ | 74% ~45s
|++++++++++++++++++++++++++++++++++++++ | 75% ~44s
|++++++++++++++++++++++++++++++++++++++ | 76% ~42s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~40s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~38s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~37s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~35s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~33s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~31s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~30s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~28s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~26s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~24s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~23s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~21s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~19s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~17s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~16s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~14s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~12s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~10s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~09s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~07s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~05s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~03s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~02s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 02m 53s
Display the top markers you computed above.
#tiss.markers %>% group_by(cluster) %>% top_n(5, avg_diff)
At a coarse level, we can use canonical markers to match the unbiased clustering to known cell types:
# stash current cluster IDs
tiss <- StashIdent(object = tiss, save.name = "cluster.ids")
# enumerate current cluster IDs and the labels for them
cluster.ids <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11)
cell_ontology_class <-
c(
"fibroblast",
"endothelial cell",
"fibroblast",
"fibroblast",
"leukocyte",
"endothelial cell",
"smooth muscle cell",
"endocardial cell",
"cardiac muscle cell",
"leukocyte",
"endothelial cell",
"erythrocyte"
)
cell_ontology_id <-
c(
"CL:0000057",
"CL:0000115",
"CL:0000057",
"CL:0000057",
"CL:0000738",
"CL:0000115",
"CL:0000192",
"CL:0002350",
"CL:0000746",
"CL:0000738",
"CL:0000115",
"CL:0000232"
)
tiss@meta.data[,'free_annotation'] <- NA
tiss@meta.data[,'cell_ontology_class'] <- plyr::mapvalues(x = tiss@ident, from = cluster.ids, to = cell_ontology_class)
tiss@meta.data[,'cell_ontology_id'] <- plyr::mapvalues(x = tiss@ident, from = cluster.ids, to = cell_ontology_id)
tiss@meta.data[tiss@cell.names,'cell_ontology_class'] <- as.character(tiss@meta.data$cell_ontology_class)
tiss@meta.data[tiss@cell.names,'cell_ontology_id'] <- as.character(tiss@meta.data$cell_ontology_id)
TSNEPlot(object = tiss, do.label = TRUE, pt.size = 0.5, group.by='cell_ontology_class')
Color by metadata, like plate barcode, to check for batch effects.
TSNEPlot(object = tiss, do.return = TRUE, group.by = "plate.barcode")
Print a table showing the count of cells in each identity category from each plate.
table(as.character(tiss@ident), as.character(tiss@meta.data$plate.barcode))
B000412 B000633 B000634 B000636 B002010 B002011 B002421 B002423 B002427 B002428
0 14 20 81 5 12 4 19 33 147 18
1 58 45 24 42 39 5 77 51 42 4
10 0 0 0 0 0 0 0 0 0 0
11 1 1 0 3 0 0 0 0 0 0
2 4 113 39 1 186 30 2 78 35 19
3 2 4 0 1 8 155 2 16 51 227
4 4 22 5 4 28 9 9 25 20 9
5 35 3 2 23 1 2 37 32 7 11
6 6 10 4 2 5 2 9 9 9 6
7 1 27 22 0 27 10 4 3 14 18
8 0 4 1 1 2 1 2 0 3 1
9 3 4 0 3 6 2 5 13 3 2
B002429 B002430 B002431 MAA000398 MAA000399 MAA000400 MAA000452 MAA000586 MAA000587
0 4 0 0 76 26 88 47 44 23
1 12 1 14 37 58 15 81 23 28
10 0 0 0 0 0 0 0 0 0
11 0 2 7 0 0 0 0 0 1
2 1 0 0 5 1 11 2 56 0
3 6 3 15 0 0 0 0 8 1
4 2 0 0 20 8 13 16 36 13
5 78 7 17 0 11 0 3 1 2
6 7 0 0 17 13 11 14 8 12
7 0 4 0 3 2 4 0 8 1
8 0 0 0 2 0 1 0 2 0
9 4 2 2 2 1 2 1 10 2
MAA000589 MAA000594 MAA000595 MAA000898 MAA000899 MAA000901 MAA000903 MAA000906
0 25 20 30 5 15 16 22 1
1 31 0 0 12 1 33 41 29
10 0 0 0 0 0 0 0 1
11 0 19 0 0 0 0 1 10
2 3 0 0 0 13 1 9 0
3 0 19 13 1 0 0 5 2
4 13 2 5 3 7 16 28 0
5 9 3 0 3 0 5 4 6
6 11 2 0 0 1 6 14 1
7 2 0 0 0 4 2 4 1
8 0 1 2 0 1 0 2 0
9 1 20 10 0 1 2 7 0
MAA000908 MAA000917 MAA000918 MAA000919 MAA000920 MAA000936 MAA100037 MAA100096
0 2 4 21 52 80 38 1 0
1 6 7 16 22 21 17 2 0
10 79 0 0 0 0 0 0 0
11 3 2 0 0 2 0 0 0
2 0 1 0 0 0 9 0 0
3 1 2 0 1 1 0 1 0
4 0 6 17 12 3 43 0 0
5 0 18 0 0 2 0 4 0
6 0 3 8 6 8 16 1 0
7 2 0 1 8 6 3 1 0
8 0 0 0 8 8 0 41 28
9 0 3 1 2 0 17 0 0
MAA100097
0 0
1 0
10 0
11 0
2 1
3 0
4 0
5 0
6 0
7 0
8 32
9 0
We can repeat the above analysis on a subset of cells, defined using cluster IDs or some other metadata. This is a good way to drill down and find substructure.
# Subset data based on cluster id
subtiss <- SubsetData(object = tiss, ident.use = c(6), do.center = F, do.scale = F, cells.use = )
# To subset data based on cell_ontology_class or other metadata, you can explicitly pass cell names
# anno = 'exocrine cells'
# cells.to.use = tiss@cell.names[which(tiss@meta.data$cell_ontology_class == anno)]
# subtiss <- SubsetData(object = tiss, cells.use = cells.to.use, do.center = F, do.scale = F)
subtiss <- NormalizeData(object = subtiss)
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
subtiss <- ScaleData(object = subtiss, vars.to.regress = c("nReads", "percent.ribo","Rn45s"))
[1] "Regressing out nReads" "Regressing out percent.ribo"
[3] "Regressing out Rn45s"
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|== | 3%
|
|=== | 3%
|
|=== | 4%
|
|==== | 5%
|
|===== | 6%
|
|===== | 7%
|
|====== | 7%
|
|====== | 8%
|
|======= | 9%
|
|======== | 10%
|
|========= | 11%
|
|========== | 12%
|
|========== | 13%
|
|=========== | 13%
|
|=========== | 14%
|
|============ | 15%
|
|============= | 16%
|
|============= | 17%
|
|============== | 17%
|
|============== | 18%
|
|=============== | 19%
|
|================ | 20%
|
|================= | 21%
|
|================== | 22%
|
|================== | 23%
|
|=================== | 23%
|
|=================== | 24%
|
|==================== | 25%
|
|===================== | 26%
|
|===================== | 27%
|
|====================== | 27%
|
|====================== | 28%
|
|======================= | 29%
|
|======================== | 30%
|
|========================= | 31%
|
|========================== | 32%
|
|========================== | 33%
|
|=========================== | 33%
|
|=========================== | 34%
|
|============================ | 35%
|
|============================= | 36%
|
|============================= | 37%
|
|============================== | 37%
|
|============================== | 38%
|
|=============================== | 39%
|
|================================ | 40%
|
|================================= | 41%
|
|================================== | 42%
|
|================================== | 43%
|
|=================================== | 43%
|
|=================================== | 44%
|
|==================================== | 45%
|
|===================================== | 46%
|
|===================================== | 47%
|
|====================================== | 47%
|
|====================================== | 48%
|
|======================================= | 49%
|
|======================================== | 50%
|
|========================================= | 51%
|
|========================================== | 52%
|
|========================================== | 53%
|
|=========================================== | 53%
|
|=========================================== | 54%
|
|============================================ | 55%
|
|============================================= | 56%
|
|============================================= | 57%
|
|============================================== | 57%
|
|============================================== | 58%
|
|=============================================== | 59%
|
|================================================ | 60%
|
|================================================= | 61%
|
|================================================== | 62%
|
|================================================== | 63%
|
|=================================================== | 63%
|
|=================================================== | 64%
|
|==================================================== | 65%
|
|===================================================== | 66%
|
|===================================================== | 67%
|
|====================================================== | 67%
|
|====================================================== | 68%
|
|======================================================= | 69%
|
|======================================================== | 70%
|
|========================================================= | 71%
|
|========================================================== | 72%
|
|========================================================== | 73%
|
|=========================================================== | 73%
|
|=========================================================== | 74%
|
|============================================================ | 75%
|
|============================================================= | 76%
|
|============================================================= | 77%
|
|============================================================== | 77%
|
|============================================================== | 78%
|
|=============================================================== | 79%
|
|================================================================ | 80%
|
|================================================================= | 81%
|
|================================================================== | 82%
|
|================================================================== | 83%
|
|=================================================================== | 83%
|
|=================================================================== | 84%
|
|==================================================================== | 85%
|
|===================================================================== | 86%
|
|===================================================================== | 87%
|
|====================================================================== | 87%
|
|====================================================================== | 88%
|
|======================================================================= | 89%
|
|======================================================================== | 90%
|
|========================================================================= | 91%
|
|========================================================================== | 92%
|
|========================================================================== | 93%
|
|=========================================================================== | 93%
|
|=========================================================================== | 94%
|
|============================================================================ | 95%
|
|============================================================================= | 96%
|
|============================================================================= | 97%
|
|============================================================================== | 97%
|
|============================================================================== | 98%
|
|=============================================================================== | 99%
|
|================================================================================| 100%
[1] "Scaling data matrix"
|
| | 0%
|
|================================================================================| 100%
subtiss <- FindVariableGenes(object = subtiss, do.plot = TRUE, x.high.cutoff = Inf, y.cutoff = 0.8)
Calculating gene means
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variance to mean ratios
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
**************************************************|
subtiss <- RunPCA(object = subtiss, pcs.compute = 20)
[1] "PC1"
[1] "Postn" "Vtn" "Col6a1" "Pla1a" "Lrp1" "Col6a2" "Slc43a3"
[8] "Col3a1" "Smpdl3a" "Fabp5" "Cfh" "Kdelr3" "Slc12a2" "Plat"
[15] "Lgals3bp" "Nr1h3" "P2ry14" "Tppp3" "Hsd11b1" "Fn1" "Tbx20"
[22] "Spon1" "Lamb1" "Gpr182" "Trib2" "Fbn1" "Chn1" "Asah1"
[29] "Dusp6" "Hic1"
[1] ""
[1] "Tagln" "Myh11" "Nrip2" "Sorbs2" "Acta2"
[6] "Mustn1" "Palld" "Lmod1" "Rcan2" "Pln"
[11] "Wtip" "Csrp1" "Pcp4l1" "Asb2" "Rasd1"
[16] "Myl9" "Sorbs1" "Perp" "Ccdc3" "B230120H23Rik"
[21] "Tpm1" "Clu" "Tpm2" "Gpr20" "Mylk"
[26] "Ptrf" "Ckb" "Cav1" "Npy1r" "Dstn"
[1] ""
[1] ""
[1] "PC2"
[1] "Col14a1" "Loxl1" "Apoe" "Fhl1" "Col6a2" "Rgs2" "Col6a1"
[8] "Eln" "Dkk3" "Fam124a" "Ptgis" "Id2" "Gsn" "Dpt"
[15] "Epdr1" "F2r" "Cdc42ep3" "Igfbp3" "Tmem176b" "Adamts2" "Adh1"
[22] "Srpx" "Hsd11b1" "Cyp1b1" "Lmcd1" "Igfbp4" "Fn1" "Col8a1"
[29] "Stc1" "Col3a1"
[1] ""
[1] "Cxcl12" "Vtn" "Plxdc1" "Ldhb" "P2ry14"
[6] "Plxdc2" "Pcp4l1" "Ddit4l" "Opcml" "Klhl23"
[11] "Eftud2" "Chd2" "Phf17" "Ppfibp2" "Igfbp5"
[16] "Gm20199" "Slc24a3" "Pde4c" "Car2" "Sema7a"
[21] "Sdr42e1" "Osgepl1" "Gm17066" "Htr7" "Ednrb"
[26] "Bet1l" "8430406I07Rik" "Astn1" "Atg16l1" "2410015M20Rik"
[1] ""
[1] ""
[1] "PC3"
[1] "Gpbp1l1" "Dnajb5" "Gm17066" "D930016D06Rik" "Tgfbrap1"
[6] "1810014F10Rik" "Samd14" "Med30" "R74862" "Cwc25"
[11] "Trmt5" "Mocs1" "1700013N18Rik" "Gm20199" "Usp33"
[16] "Pcgf3" "Ctdsp2" "Amotl2" "Rufy3" "Gemin5"
[21] "9930104L06Rik" "Vps13a" "Slc11a2" "Tgfbr1" "Chac2"
[26] "AI480653" "Vezt" "Nkd2" "Zfp408" "Ints7"
[1] ""
[1] "Cd34" "Ifit1" "Plat" "Ifi47" "Ier2"
[6] "Sh2d3c" "Dusp6" "Tgtp2" "Armc10" "Ly6c1"
[11] "Gpihbp1" "Ifit3" "D0H4S114" "Snip1" "Cd274"
[16] "8430408G22Rik" "Ly6a" "Plxdc2" "Eif3d" "E4f1"
[21] "Cmpk2" "Igtp" "Bcar3" "Iigp1" "Tyms"
[26] "P2ry14" "Nudt16" "Mocos" "Btbd19" "1500002O20Rik"
[1] ""
[1] ""
[1] "PC4"
[1] "S1pr3" "Git1" "Fbn1" "Khdrbs3" "Nt5dc1"
[6] "Mknk2" "Fam168a" "Lztfl1" "Xirp1" "Mt1"
[11] "Cecr5" "Spg7" "Ptdss2" "Lgals3bp" "Lars2"
[16] "Gpam" "Ubiad1" "Adnp" "Fkbp14" "Ppp2r2d"
[21] "Magi2" "Zfp276" "Mtor" "Tubgcp4" "Casp7"
[26] "BC068281" "Fyco1" "9130011E15Rik" "Haus2" "Tmem170b"
[1] ""
[1] "Cdc42ep3" "Gpx3" "Fbln5" "Apoe" "Sdc1" "Cd36" "Gstm1"
[8] "Cxcl12" "Chrdl1" "Lims2" "Prelp" "Prss23" "Lmcd1" "Adam15"
[15] "Mafk" "Enpp2" "Eya2" "Lrp4" "Mfap5" "Tbxa2r" "Antxr1"
[22] "Phactr1" "Tppp3" "Ogn" "Tmem119" "Fibin" "Myl9" "Pdgfd"
[29] "Fhl1" "Angptl4"
[1] ""
[1] ""
[1] "PC5"
[1] "Chac2" "Tgfbr1" "Gm17066" "Rufy3" "D930016D06Rik"
[6] "Tgtp2" "Zfp1" "Sc5d" "Tgfbrap1" "Twistnb"
[11] "Znrd1" "Zfp710" "Bcl2l2" "Gm20199" "Nrd1"
[16] "Iigp1" "Psd3" "Slc25a40" "Pcgf3" "1810014F10Rik"
[21] "1700013N18Rik" "Vezt" "Ppp6r3" "Cwc25" "Trmt5"
[26] "Zfp408" "Usp5" "Ifit1" "Zfx" "Gpihbp1"
[1] ""
[1] "Nme6" "Man2b2" "Nrxn1" "Aard" "Arrdc4"
[6] "Zfp119b" "Zfp647" "Nol8" "Rpap3" "Osbpl3"
[11] "Ncoa2" "Ngfr" "Ocrl" "Hipk2" "Slc30a4"
[16] "Kcnt2" "Ephx3" "Eif4enif1" "Dnajc21" "Nr1h4"
[21] "Phxr4" "Rxra" "Cerk" "A230046K03Rik" "Sfxn4"
[26] "Tinf2" "Arfip2" "Hiatl1" "Apba3" "Gon4l"
[1] ""
[1] ""
subtiss <- ProjectPCA(object = subtiss, do.print = FALSE)
Run Principal Component Analysis.
subtiss <- RunPCA(object = subtiss, do.print = FALSE)
subtiss <- ProjectPCA(object = subtiss, do.print = FALSE)
# If this fails for your subset, it may be that cells.use is more cells than you have left! Try reducing it.
PCHeatmap(object = subtiss, pc.use = 1:3, cells.use = 250, do.balanced = TRUE, label.columns = FALSE, num.genes = 12)
Later on (in FindClusters and TSNE) you will pick a number of principal components to use. This has the effect of keeping the major directions of variation in the data and, ideally, supressing noise. There is no correct answer to the number to use, but a decent rule of thumb is to go until the plot plateaus.
PCElbowPlot(object = subtiss)
Choose the number of principal components to use.
# Set number of principal components.
sub.n.pcs = 5
The clustering is performed based on a nearest neighbors graph. Cells that have similar expression will be joined together. The Louvain algorithm looks for groups of cells with high modularity–more connections within the group than between groups. The resolution parameter determines the scale…higher resolution will give more clusters, lower resolution will give fewer.
# Set resolution
sub.res.used <- 1
subtiss <- FindClusters(object = subtiss, reduction.type = "pca", dims.use = 1:sub.n.pcs,
resolution = sub.res.used, print.output = 0, save.SNN = TRUE)
To visualize
# If cells are too spread out, you can raise the perplexity. If you have few cells, try a lower perplexity (but never less than 10).
subtiss <- RunTSNE(object = subtiss, dims.use = 1:sub.n.pcs, seed.use = 10, perplexity=25)
# note that you can set do.label=T to help label individual clusters
TSNEPlot(object = subtiss, do.label = T)
subtiss.markers <- FindAllMarkers(object = subtiss, only.pos = TRUE, min.pct = 0.25, thresh.use = 0.25)
| | 0 % ~calculating
|+ | 1 % ~03s
|++ | 2 % ~03s
|++ | 3 % ~03s
|+++ | 4 % ~03s
|+++ | 5 % ~03s
|++++ | 6 % ~03s
|++++ | 7 % ~03s
|+++++ | 8 % ~02s
|+++++ | 9 % ~02s
|++++++ | 10% ~02s
|++++++ | 11% ~02s
|+++++++ | 12% ~02s
|+++++++ | 13% ~02s
|++++++++ | 14% ~02s
|++++++++ | 15% ~02s
|+++++++++ | 16% ~02s
|+++++++++ | 17% ~02s
|++++++++++ | 18% ~02s
|++++++++++ | 19% ~02s
|+++++++++++ | 20% ~02s
|+++++++++++ | 21% ~02s
|++++++++++++ | 22% ~02s
|++++++++++++ | 23% ~02s
|+++++++++++++ | 24% ~02s
|+++++++++++++ | 26% ~02s
|++++++++++++++ | 27% ~02s
|++++++++++++++ | 28% ~02s
|+++++++++++++++ | 29% ~02s
|+++++++++++++++ | 30% ~02s
|++++++++++++++++ | 31% ~02s
|++++++++++++++++ | 32% ~02s
|+++++++++++++++++ | 33% ~02s
|+++++++++++++++++ | 34% ~02s
|++++++++++++++++++ | 35% ~02s
|++++++++++++++++++ | 36% ~02s
|+++++++++++++++++++ | 37% ~02s
|+++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|++++++++++++++++++++ | 40% ~02s
|+++++++++++++++++++++ | 41% ~02s
|+++++++++++++++++++++ | 42% ~02s
|++++++++++++++++++++++ | 43% ~02s
|++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|+++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~01s
|++++++++++++++++++++++++ | 48% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|+++++++++++++++++++++++++ | 50% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|+++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|++++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|+++++++++++++++++++++++++++++ | 56% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 58% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|+++++++++++++++++++++++++++++++ | 60% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|++++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|++++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 03s
| | 0 % ~calculating
|+ | 1 % ~03s
|++ | 2 % ~03s
|++ | 3 % ~03s
|+++ | 4 % ~03s
|+++ | 5 % ~03s
|++++ | 6 % ~03s
|++++ | 8 % ~03s
|+++++ | 9 % ~03s
|+++++ | 10% ~03s
|++++++ | 11% ~02s
|++++++ | 12% ~02s
|+++++++ | 13% ~02s
|+++++++ | 14% ~02s
|++++++++ | 15% ~02s
|+++++++++ | 16% ~02s
|+++++++++ | 17% ~02s
|++++++++++ | 18% ~02s
|++++++++++ | 19% ~02s
|+++++++++++ | 20% ~02s
|+++++++++++ | 22% ~02s
|++++++++++++ | 23% ~02s
|++++++++++++ | 24% ~02s
|+++++++++++++ | 25% ~02s
|+++++++++++++ | 26% ~02s
|++++++++++++++ | 27% ~02s
|++++++++++++++ | 28% ~02s
|+++++++++++++++ | 29% ~02s
|++++++++++++++++ | 30% ~02s
|++++++++++++++++ | 31% ~02s
|+++++++++++++++++ | 32% ~02s
|+++++++++++++++++ | 33% ~02s
|++++++++++++++++++ | 34% ~02s
|++++++++++++++++++ | 35% ~02s
|+++++++++++++++++++ | 37% ~02s
|+++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|++++++++++++++++++++ | 40% ~02s
|+++++++++++++++++++++ | 41% ~02s
|+++++++++++++++++++++ | 42% ~02s
|++++++++++++++++++++++ | 43% ~02s
|+++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|++++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~02s
|+++++++++++++++++++++++++ | 48% ~02s
|+++++++++++++++++++++++++ | 49% ~02s
|++++++++++++++++++++++++++ | 51% ~01s
|++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|+++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|++++++++++++++++++++++++++++ | 56% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 58% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|+++++++++++++++++++++++++++++++ | 60% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|+++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 03s
| | 0 % ~calculating
|+ | 1 % ~06s
|++ | 2 % ~05s
|++ | 3 % ~05s
|+++ | 4 % ~05s
|+++ | 5 % ~05s
|++++ | 6 % ~05s
|++++ | 7 % ~05s
|+++++ | 8 % ~05s
|+++++ | 9 % ~05s
|++++++ | 11% ~05s
|++++++ | 12% ~05s
|+++++++ | 13% ~05s
|+++++++ | 14% ~05s
|++++++++ | 15% ~05s
|++++++++ | 16% ~05s
|+++++++++ | 17% ~05s
|+++++++++ | 18% ~05s
|++++++++++ | 19% ~05s
|++++++++++ | 20% ~05s
|+++++++++++ | 21% ~05s
|++++++++++++ | 22% ~05s
|++++++++++++ | 23% ~05s
|+++++++++++++ | 24% ~05s
|+++++++++++++ | 25% ~04s
|++++++++++++++ | 26% ~04s
|++++++++++++++ | 27% ~04s
|+++++++++++++++ | 28% ~04s
|+++++++++++++++ | 29% ~04s
|++++++++++++++++ | 31% ~04s
|++++++++++++++++ | 32% ~04s
|+++++++++++++++++ | 33% ~04s
|+++++++++++++++++ | 34% ~04s
|++++++++++++++++++ | 35% ~04s
|++++++++++++++++++ | 36% ~04s
|+++++++++++++++++++ | 37% ~04s
|+++++++++++++++++++ | 38% ~04s
|++++++++++++++++++++ | 39% ~04s
|++++++++++++++++++++ | 40% ~03s
|+++++++++++++++++++++ | 41% ~03s
|++++++++++++++++++++++ | 42% ~03s
|++++++++++++++++++++++ | 43% ~03s
|+++++++++++++++++++++++ | 44% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|++++++++++++++++++++++++ | 46% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|+++++++++++++++++++++++++ | 48% ~03s
|+++++++++++++++++++++++++ | 49% ~03s
|++++++++++++++++++++++++++ | 51% ~03s
|++++++++++++++++++++++++++ | 52% ~03s
|+++++++++++++++++++++++++++ | 53% ~03s
|+++++++++++++++++++++++++++ | 54% ~03s
|++++++++++++++++++++++++++++ | 55% ~03s
|++++++++++++++++++++++++++++ | 56% ~03s
|+++++++++++++++++++++++++++++ | 57% ~03s
|+++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|++++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|+++++++++++++++++++++++++++++++++ | 64% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~02s
|++++++++++++++++++++++++++++++++++ | 66% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|++++++++++++++++++++++++++++++++++++ | 71% ~02s
|++++++++++++++++++++++++++++++++++++ | 72% ~02s
|+++++++++++++++++++++++++++++++++++++ | 73% ~02s
|+++++++++++++++++++++++++++++++++++++ | 74% ~02s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 06s
subtiss.markers %>% group_by(cluster) %>% top_n(6, avg_diff)
Check expression of genes of interset.
genes_to_check = c('Kcnj8','Postn','Myh11','Cnn1')
FeaturePlot(subtiss, genes_to_check, pt.size = 1)
Dotplots let you see the intensity of exppression and the fraction of cells expressing for each of your genes of interest.
# To change the y-axis to show raw counts, add use.raw = T.
DotPlot(subtiss, genes_to_check, plot.legend = T)
How big are the clusters?
table(subtiss@ident)
0 1 2
106 71 44
Color by metadata, like plate barcode, to check for batch effects.
TSNEPlot(object = subtiss, do.return = TRUE, group.by = "plate.barcode")
Print a table showing the count of cells in each identity category from each plate.
table(as.character(subtiss@ident), as.character(subtiss@meta.data$plate.barcode))
B000412 B000633 B000634 B000636 B002010 B002011 B002421 B002423 B002427 B002428
0 3 1 3 2 0 0 6 6 4 3
1 2 7 0 0 1 0 0 2 1 0
2 1 2 1 0 4 2 3 1 4 3
B002429 MAA000398 MAA000399 MAA000400 MAA000452 MAA000586 MAA000587 MAA000589
0 5 5 11 9 12 0 9 4
1 1 9 0 2 1 7 1 2
2 1 3 2 0 1 1 2 5
MAA000594 MAA000899 MAA000901 MAA000903 MAA000906 MAA000917 MAA000918 MAA000919
0 0 0 5 1 0 1 4 4
1 1 1 1 11 1 1 2 1
2 1 0 0 2 0 1 2 1
MAA000920 MAA000936 MAA100037
0 8 0 0
1 0 16 0
2 0 0 1
For the subsets, we produce subcell_ontology_classs. These will be written back as metadata in the original object, so we can see all subcell_ontology_classs together.
If some of the clusters you find in the subset deserve additional cell_ontology_class, you can add that right here. Use NA for clusters for which no subcell_ontology_class is needed.
subcluster.ids <- c(0, 1, 2)
subfree_annotation <- c()
subcell_ontology_class <-c("Myofibroblast","Myofibroblast", "Smooth_Muscle_Cells")
subtiss@meta.data[,'subcell_ontology_class'] <- plyr::mapvalues(x = subtiss@ident, from = subcluster.ids, to = subcell_ontology_class)
tiss@meta.data[subtiss@cell.names,'subcell_ontology_class'] <- as.character(subtiss@meta.data$subcell_ontology_class)
TSNEPlot(object = subtiss, do.label = TRUE, pt.size = 0.5, group.by='subcell_ontology_class')
When you save the annotated tissue, please give it a name.
filename = here('00_data_ingest', '04_tissue_robj_generated',
paste0("facs", tissue_of_interest, "_seurat_tiss.Robj"))
print(filename)
[1] "/Users/guangli/Documents/GitHub/tabula-muris/00_data_ingest/04_tissue_robj_generated/facsHeart_seurat_tiss.Robj"
save(tiss, file=filename)
So that Biohub can easily combine all your cell_ontology_classs, please export them as a simple csv.